1. Field of the Invention
The present invention relates to computerized personal calendars and planning programs. More particularly, the invention concerns an xe2x80x9cactivexe2x80x9d calendar that automatically generates and sends machine-readable messages in support of calendar entries. As an example, the calendar may analyze the user""s calendar entries, search predefined sources for information related to the user""s entries, filter the search results, and link this the filtered results to the calendar entry, thereby aiding the user in his/her calendared activity.
2. Description of the Related Art
Boosted by improvements in computer technology, the information age has truly arrived. In a matter of minutes, a computer user can easily garner the latest stock quotes, peruse local real estate listings, and obtain satellite weather images. Due to this explosion of available information, it is even more important to have effective means for conducting research, storing personal data, disseminating information, and performing other data management tasks. Engineers and programmers have addressed this condition by developing a myriad of different software and hardware products.
One type of information-related product is the xe2x80x9cpersonal information manager.xe2x80x9d Typically, a personal information manager is a software program that runs on a user""s personal computer. The software assists the user in managing various personal information, such as a xe2x80x9cto doxe2x80x9d list, personal calendar, address list, etc. One example is the LOTUS ORGANIZER product, commercially available from INTERNATIONAL BUSINESS MACHINES CORP. (xe2x80x9cIBMxe2x80x9d). Another example is the PILOT DATEBOOK product from 3COM. Personal information managers assist their users in entering desired information, and then organizing and managing the information. However, these programs do not contribute toward gathering information for the user. The only data contained in a personal information manager is that entered by its user. Unfortunately, much of the information that would be important to the user, and which is directly related to the calendar information, is generated elsewhere, and the user may lack the time and expertise to collect, organize, and filter the data.
In contrast, applications with xe2x80x9cpush technologyxe2x80x9d focus upon the automatic delivery of information to users. Applications with push technology deliver information from a source such as the public Internet based upon a profile previously completed by the user. One example is the POINTCAST software program, in which a user enters his/her preferences in areas of stocks, sporting events and teams, world news, local news, weather, etc. When the user""s computer is connected to the public Internet, the POINTCAST program automatically gathers information compatible with the user""s profile, according to a predetermined schedule. This information may be relayed to the user, for example, by automatically displaying the information on the user""s monitor during dormant times. Although this style of data collection is beneficial to many, it is narrowly tailored to situations where a user has a longstanding interest in a particular class of information, and the information tends to change frequently, e.g., news.
One more sophisticated type of information gathering facility is known as xe2x80x9cagent technology.xe2x80x9d Applications using agent technology provide a sophisticated active search engine, which is particularly configured to the user""s specifications. Applications with agent technology use intelligent code that is run by Internet web servers, gathering data by migrating among many web sites and processing information found there. One implementation of agent technology is present in IBM""s products that incorporate xe2x80x9cAGLET TECHNOLOGY.xe2x80x9d Although agent technology constitutes a significant advance that may be particularly useful for thoroughly researching a few topics, it is not specifically suited to completing a large number of minor information gathering tasks.
In view of the foregoing limitations of known products, they are not completely adequate for some applications that would benefit from having certain features of different products.
Broadly, the present invention concerns an xe2x80x9cactivexe2x80x9d calendar that automatically performs various user-defined tasks appropriate to calendar entries. Chiefly, the active calendar transmits user-defined messages in support of the calendar entries. The message may comprise internet search requests, e-mail messages, print requests, internal computer commands, or any other machine-readable message helpful to the user""s calendar entry. As a more particular example, the calendar may analyze the user""s calendar entries, search predefined sources for information related to the user""s entries, filter the search results, and link the search results to the calendar entry, thereby aiding the user in his/her calendared activity.
In advance of any calendar entries, the active calendar establishes a group of categories for use with calendar entries. Each category is associated with a particular planned event, such as shopping, teleconference, phone call, travel, meeting, child""s activity, etc., and may be extended by the user. For each different category, there is a predetermined set of one or more subcategories. For a travel event, the associated subcategories may include source, destination, departure time, and arrival time.
An action rule database pre-associates each event category with one or more message formats, each representing a message to be sent in support of calendar entries of that event category. Each message format has a content and a destination, information for which is obtained from the calendar entry itself, the action rule database, or a combination of the two.
Possible message destinations include internet sites such as search engines, e-mail addresses, printers, internal computer components, or any other computing component capable of aiding the user""s calendar entry. Message content may comprise search parameters (for an internet search), executable code (for a computer component), a text message (for an e-mail message), etc.
Search engines are one example of a message destination specified by the action rule database, the message content being taken from the calendar entry itself. Search engines, or other information sources, are specified by the action rule database for use with particular message formats if these sources are likely to contain information helpful to the user in regard to calendar entries of this event category. For instance, with a travel event category, beneficial sources of information might include Internet sites with weather forecasts, restaurant and hotel listings, maps, current event information, and other helpful information; this information is customized according to the calendar entry by using the contents of the subcategory xe2x80x9cdestination cityxe2x80x9d as a search parameter. In addition to Internet sites, other information sources may include the user""s personal address book, e-mail archive, and various databases on the user""s hard drive, such as company databases and any other information imaginable. In contrast to the information sources, the message destinations comprise destinations for machine-readable messages that may be sent in support of the calendar entry. Such destinations may include e-mail addresses, printers, internal computer components, networked computers, or other useful locations.
The user submits a calendar entry to a computer, such as the user""s personal computer. The entry may be made, for example, using a graphical user interface (xe2x80x9cGUIxe2x80x9d). The entry describes a planned event, such as a teleconference, meeting, travel, etc. The active calendar processes the calendar entry on an appropriate basis, such as immediately, periodically, at predetermined activation times, or a predefined time before an event. First, the active calendar determines which one of the predetermined group of categories the entry pertains to. The entry may also be parsed into a number of fields, each associated with a different one of the subcategories predefined for the determined category. This parsing may be performed by receiving user-selected fields (if the fields are user-selected), or by using word association technology or another suitable analytical technique (if the fields are not specifically designated by the user).
Next, the active calendar constructs and sends messages of each prescribed message format pre-associated with the current event category. First, the content and destination of a message are determined according to the action rule database. The action rule database may specify the actual data itself (e.g., which internet search engine to use), or it may point to appropriate fields of the calendar entry for such data (e.g., which search parameters to use). After constructing the message, the active calendar sends the message to the destination. In the case of information searches, further action may entail filtering results of the search, optionally copying some or all of the results to local storage, and presenting the results to the user by linking them to the user""s calendar entry. Thus, the present invention""s active calendar stores calendar entries normally input by the user, but it also automatically acts on information in the calendar entries by sending appropriate messages. In the case of an internet search, the active calendar acts by predicting additional information needed, and searching and retrieving the information from a multitude of sources. The active calendar may also organize the information and present it to the user. Considering an example involving a travel event category, the active calendar may update weather and traffic information for the destination city, fetch the telephone and fax numbers of people the user is scheduled to meet with, advise the user of important events in the destination city, provide driving directions, etc. As a different example, the active calendar may automatically generate and send an e-mail to the user""s spouse whenever the user""s calendar reflects plans to work late. When a meeting is calendared, reminder messages may be e-mailed to all meeting participants several minutes before the meeting. Furthermore, prior to the meeting, the active calendar may automatically collect and organize information about the meeting participants, and retrieve notes and minutes from prior meetings. Advantageously, the user can conveniently customize which actions are taken for different types of calendar entries.
As shown above, then, one embodiment of the invention is a method to supplement entries of a computerized personal calendar by obtaining additional data and/or transmitting messages appropriate to the calendar entries. A different embodiment of the invention, however, concerns an apparatus, such as a digital data processing machine, programmed to supplement entries of a computerized personal calendar. In still another embodiment, the invention may be implemented to provide a signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital data processing apparatus to perform method steps for supplementing computerized personal calendar entries.
The invention affords its users with a number of distinct advantages. First, in contrast to xe2x80x9cpushxe2x80x9d technology, where the user has a longstanding interest in a particular subject (such as a particular group of stocks or a sports team), the active calendar is especially useful to obtain an eclectic assortment of information concerning diverse activities. As a further advantage, the invention permits the user to participate in active calendaring, requiring little or no action by the user beyond normal calendar entry tasks. The invention also provides a number of other advantages and benefits, which should be apparent from the following description of the invention.